package com.lyrcsoft.autoconfigure;

import java.util.Objects;
import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.type.AnnotatedTypeMetadata;

/**
 * 功能描述
 *
 * @author fujc-dev@qq.com
 * @date: 2023年12月01日 9:32
 */

public class DataBaseTypeConditional implements Condition {

    @Override
    public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
        // 拿到
        String annotationData = (String) Objects.requireNonNull(metadata.getAnnotationAttributes(ConditionalOnDataBaseType.class.getName())).get("value");
        String dataBaseType = context.getEnvironment().getProperty("database.type");
        return dataBaseType.equalsIgnoreCase(annotationData);
    }
}
